import { defineStore } from 'pinia'  
import { setToken,jsonToStr, getToken, strToJson } from '../utils/auth';
const useUserStore = defineStore('user', {  
  state: () => ({  
    isLoggedIn: false,  
    user: null,  
    token: null,
  }),  
  
  actions: {  
    login(userInfo,token) {  
      console.log("111",userInfo,token);
      // 在这里，你可以执行登录逻辑，比如发送请求到服务器验证用户凭据  
      // 假设验证成功，将用户信息存储到 state 中，并设置 isLoggedIn 为 true  
      this.user = userInfo;  
      this.token = token
      this.isLoggedIn = true;  
      setToken('token',token)
      setToken('userInfo',jsonToStr(userInfo))
    },  
    
    logout() {  
      // 执行注销逻辑，清除用户信息和登录状态  
      this.user = null;  
      this.isLoggedIn = false;  
    },  
    restoreState(){
      this.user = strToJson(getToken('userInfo')??'{}') ?? null
      this.token = getToken('token') ?? null
      this.isLoggedIn = this.token && true
    }
    // 其他与用户登录相关的操作可以在这里添加  
  },  
  
  getters: {  
    isUserLoggedIn() {  
      return this.isLoggedIn;  
    },  
    
  
    // 其他 getters 可以在这里添加  
  },  
});
export default useUserStore